home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / tex / sauter.zip / C-CMSS.MF < prev    next >
Text File  |  1990-09-16  |  14KB  |  329 lines

  1. % Compute the font construction parameters for the Computer
  2. % Modern Sans-Serif family.  Some other Computer Modern families
  3. % compute their parameters as modifications of these.
  4.  
  5. u#:=               % unit width
  6.     (if design_size < 10: ((design_size*15)+50)
  7. %elseif design_size < 12: ((design_size*17.5)+25)
  8.                     else: (-(0.0624375624375*design_size*design_size) +
  9.                            (18.873626373*design_size) +
  10.                            (17.507492507))fi)/360pt#;
  11.  
  12. width_adj#:=       % width adjustment for certain characters
  13.     (if design_size <  9: ((design_size*10)+40)
  14.  elseif design_size < 10: ((design_size*20)-50)
  15. %elseif design_size < 12: ((design_size*10)+50)
  16.                     else: (((0.44746919746*design_size*design_size) +
  17.                            (0.15567765567*design_size) +
  18.                            (103.696303696))+0.0008)fi)/360pt#;
  19.  
  20. serif_fit#:=       % extra sidebar near lowercase serifs
  21.     (if design_size < 10: (-(design_size*5)-20)
  22.  elseif design_size < 12: (-(design_size*10)+30)
  23.                     else: (-(design_size*5.6818181818)-21.8181818184)fi)/360pt#;
  24.  
  25. cap_serif_fit#:=   % extra sidebar near uppercase serifs
  26.     (if design_size <  9: (-(design_size*5)-45)
  27.  elseif design_size < 10: (-design_size*10)
  28.  elseif design_size < 12: (-(design_size*15)+50)
  29.                     else: (-(design_size*7.5757575757)-39.0909091)fi)/360pt#;
  30.  
  31. letter_fit#:=      % extra space added to all sidebars
  32.                           0pt#;
  33.  
  34. body_height#:=     % height of tallest characters
  35.     (if design_size < 10: (design_size*270)
  36.                     else: (-(0.14568764568*design_size*design_size) +
  37.                            (273.205128205*design_size) -
  38.                            (17.482517482))fi)/360pt#;
  39.  
  40. asc_height#:=      % height of lowercase ascenders
  41.                           (design_size*250)/360pt#;
  42.  
  43. cap_height#:=      % height of caps
  44.                           (design_size*250)/360pt#;
  45.  
  46. fig_height#:=      % height of numerals
  47.     (if design_size <  9: ((design_size*230)+50)
  48.  elseif design_size < 10: ((design_size*240)-40)
  49. %elseif design_size < 12: ((design_size*235)+10)
  50.                     else: (((0.23934398934*design_size*design_size) +
  51.                            (229.734432234*design_size) +
  52.                            (38.721278721))-0.00068)fi)/360pt#;
  53.  
  54. x_height#:=        % height of lowercase without ascenders
  55.     (if design_size < 10: (design_size*160)
  56.                     else: (-(2.25815850815*design_size*design_size) +
  57.                            (209.679487179*design_size) -
  58.                            (270.979020979))fi)/360pt#;
  59.  
  60. math_axis#:=       % axis of symmetry for math symbols
  61.     (if design_size < 10: (design_size*90)
  62.                     else: ((-0.0052031302031*design_size*design_size) +
  63.                            (90.11446864*design_size) -
  64.                            (0.62437562437))fi)/360pt#;
  65.  
  66. bar_height#:=      % height of crossbar in lowercase e
  67.     (if design_size < 10: ((design_size*80)-10)
  68.  elseif design_size < 12: ((design_size*90)-110)
  69.                     else: ((design_size*73.863636363)+83.636363644)fi)/360pt#;
  70.  
  71. comma_depth#:=     % depth of comma below baseline
  72.     (if design_size < 10: ((design_size*40)+50)
  73. %elseif design_size < 12: (design_size*45)
  74.                     else: ((0.0624375624375*design_size*design_size) +
  75.                            (43.626373626*design_size) +
  76.                            (7.4925074925))fi)/360pt#;
  77.  
  78. desc_depth#:=      % depth of lowercase descenders
  79.     (if design_size < 10: (design_size*70)
  80.                     else: ((0.0104062604062*design_size*design_size) +
  81.                            (69.771062271*design_size) +
  82.                            (1.24875124875))fi)/360pt#;
  83.  
  84. crisp#:=           % diameter of serif corners
  85.                           0pt#;
  86.  
  87. tiny#:=            % diameter of rounded corners
  88.                           0pt#;
  89.  
  90. fine#:=            % diameter of sharply rounded corners
  91.                           0pt#;
  92.  
  93. thin_join#:=       % width of extrafine details
  94.     (if design_size < 10: ((design_size*10)+70)
  95. %elseif design_size < 12: ((design_size*15)+20)
  96.                     else: ((0.0208125208125*design_size*design_size) +
  97.                            (14.542124542*design_size) +
  98.                            (22.497502497))fi)/360pt#;
  99.  
  100. hair#:=            % lowercase hairline breadth
  101.     (if design_size <  9: ((design_size*20)+90)
  102.  elseif design_size < 10: ((design_size*10)+180)
  103. %elseif design_size < 12: ((design_size*25)+30)
  104.                     else: (((0.20812520812*design_size*design_size) +
  105.                            (20.421245421*design_size) +
  106.                            (54.975024975))-0.0003)fi)/360pt#;
  107.  
  108. stem#:=            % lowercase stem breadth
  109.     (if design_size <  9: ((design_size*20)+90)
  110.  elseif design_size < 10: ((design_size*10)+180)
  111. %elseif design_size < 12: ((design_size*25)+30)
  112.                     else: (((0.20812520812*design_size*design_size) +
  113.                            (20.421245421*design_size) +
  114.                            (54.975024975))-0.0003)fi)/360pt#;
  115.  
  116. curve#:=           % lowercase curve breadth
  117.     (if design_size <  9: ((design_size*20)+90)
  118.  elseif design_size < 10: ((design_size*10)+180)
  119. %elseif design_size < 12: ((design_size*25)+30)
  120.                     else: (((0.20812520812*design_size*design_size) +
  121.                            (20.421245421*design_size) +
  122.                            (54.975024975))-0.0003)fi)/360pt#;
  123.  
  124. ess#:=             % breadth in middle of lowercase s
  125.     (if design_size <  9: ((design_size*20)+90)
  126.  elseif design_size < 10: ((design_size*10)+180)
  127. %elseif design_size < 12: ((design_size*25)+30)
  128.                     else: (((0.20812520812*design_size*design_size) +
  129.                            (20.421245421*design_size) +
  130.                            (54.975024975))-0.0003)fi)/360pt#;
  131.  
  132. flare#:=           % diameter of bulbs or breadth of terminals
  133.     (if design_size <  9: ((design_size*20)+60)
  134.  elseif design_size < 10: ((design_size*10)+150)
  135.  elseif design_size < 12: (design_size*25)
  136.                     else: ((design_size*22.727272727)+27.272727276)fi)/360pt#;
  137.  
  138. dot_size#:=        % diameter of dots
  139.     (if design_size < 10: ((design_size*20)+100)
  140. %elseif design_size < 12: ((design_size*25)+50)
  141.                     else: (((0.46828171828*design_size*design_size) +
  142.                            (14.697802197*design_size) +
  143.                            (106.193806193))+0.0007)fi)/360pt#;
  144.  
  145. cap_hair#:=        % uppercase hairline breadth
  146.     (if design_size <  9: ((design_size*20)+90)
  147.  elseif design_size < 10: ((design_size*10)+180)
  148. %elseif design_size < 12: ((design_size*25)+30)
  149.                     else: (((0.20812520812*design_size*design_size) +
  150.                            (20.421245421*design_size) +
  151.                            (54.975024975))-0.0003)fi)/360pt#;
  152.  
  153. cap_stem#:=        % uppercase stem breadth
  154.     (if design_size <  9: ((design_size*20)+130)
  155.  elseif design_size < 10: ((design_size*10)+220)
  156. %elseif design_size < 12: ((design_size*25)+70)
  157.                     else: ((0.46828171828*design_size*design_size) +
  158.                            (14.697802197*design_size) +
  159.                            (126.193806193))fi)/360pt#;
  160.  
  161. cap_curve#:=       % uppercase curve breadth
  162.     (if design_size <  9: ((design_size*20)+130)
  163.  elseif design_size < 10: ((design_size*10)+220)
  164. %elseif design_size < 12: ((design_size*25)+70)
  165.                     else: ((0.46828171828*design_size*design_size) +
  166.                            (14.697802197*design_size) +
  167.                            (126.193806193))fi)/360pt#;
  168.  
  169. cap_ess#:=         % breadth in middle of uppercase s
  170.     (if design_size <  9: ((design_size*30)+40)
  171.  elseif design_size < 10: ((design_size*10)+220)
  172. %elseif design_size < 12: ((design_size*25)+70)
  173.                     else: ((0.46828171828*design_size*design_size) +
  174.                            (14.697802197*design_size) +
  175.                            (126.193806193))fi)/360pt#;
  176.  
  177. rule_thickness#:=  % thickness o